Ext.namespace('admin.menu');

admin.menu.MenuUpdate = function(config) {
	Ext.apply(this, config);
	/** 操作类型 */
	this.selectedTreeNode = config.selectedTreeNode;
	this.parentNode = this.selectedTreeNode.parentNode;
	this.treepanel = config.treepanel;
	this.initUIComponents();
	admin.menu.MenuUpdate.superclass.constructor.call(this);
};

Ext.extend(admin.menu.MenuUpdate, Ext.Window, {
	initUIComponents : function() {
		this.form = new Ext.form.FormPanel({
			layout : 'column',
			height : 180,
			labelWidth : 100,
			labelAlign : 'right',
			autoScroll : false,
			border : false,
			frame : false,
			items : [ {
				columnWidth : 1,
				height : 10,
				border : false
			}, {
				columnWidth : 1,
				layout : 'form',
				border : false
			}, {
				columnWidth : 1,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '菜单名称',
					xtype : 'textfield',
					anchor : '99%',
					name : 'NAME',
					id : 'NAME'
				} ]
			}, {
				columnWidth : 1,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '菜单路径',
					xtype : 'textfield',
					anchor : '99%',
					name : 'URL',
					id : 'URL'
				} ]
			}, {
				columnWidth : 1,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '路径参数',
					xtype : 'textfield',
					anchor : '99%',
					name : 'U_PARAMS',
					id : 'U_PARAMS'
				} ]
			}, {
				columnWidth : 1,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '上级菜单名称',
					xtype : 'textfield',
					anchor : '99%',
					name : 'PARENT_NAME',
					id : 'PARENT_NAME'
				} ]
			} ,{

				columnWidth : 1,
				layout : 'form',
				border : false,
				hidden :true,
				items : [ {
					fieldLabel : '上级菜单id',
					xtype : 'textfield',
					anchor : '99%',
					name : 'PARENT_ID',
					id : 'PARENT_ID'
				} ]
			
			},{
				columnWidth : 1,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '排序',
					xtype : 'textfield',
					anchor : '99%',
					name : 'U_ORDER_NUM',
					id : 'U_ORDER_NUM',
					emptyText:'排序分为九个等级，等级越高越靠前'
				} ]
			},{
					columnWidth : .7,
					layout : 'form',
					border : false,
					id : "ICON",
					items : [ new Ext.form.ComboBox({
							fieldLabel : '图标',
							xtype : 'textfield',
							name : 'ICON_URL',
							id : 'ICON_URL',
							anchor : '99%',
							store : new Ext.data.SimpleStore({
								fields : [ 'countryCode','countryFlag' ],
								data : [ [ '1','1.png' ],[ '2','2.png' ],[ '3','3.png' ],[ '4','4.png' ]
										,[ '5','5.png' ],[ '6','6.png' ],[ '7','7.png' ],[ '8','8.png' ]
										,[ '9','9.png' ]]
							}),
							valueField : 'countryCode',
							displayField : 'countryFlag',
							iconClsField: 'countryFlag',
							hiddenName : 'SHZT_VALUE',
							triggerAction : 'all',
							tpl: '<tpl for="."><div x-combo-list-item :qtip="{countryFlag}" class="x-combo-list-item"><img src="{countryFlag}" width="16" height="16">&nbsp;{countryCode}</div></tpl>',
							mode : 'local',
							editable : false,
//							readOnly:false,
							selectOnFocus : true,
							listeners : {
								'select' : this.uplodImg.createDelegate(this)
							}
							
						}) ]
				},{
						columnWidth : .3,
						layout : 'form',
						border : false,
						items : [{
							xtype : 'box',
							name : 'IMGBOX',
							id : 'IMGBOX',
							anchor : '30%',
							autoEl : {
								
								tag : 'img',
								type : 'image',
								style : 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);margin-left:5px;height:22px;margin-top:1px',
								complete : 'off'
							}
						}]
					}],
			tbar : [ {
				text : '保存',
				iconCls : 'save',
				handler:this.onUpdate.createDelegate(this)
			}, {
				text : '关闭',
				iconCls : 'close',
				handler:this.onCancel.createDelegate(this)
			} ]
		});

		Ext.apply(this, {
			id : 'MenuUpdateWindow',
			title : '修改菜单',
			border : false,
			layout : 'fit',
			width : 450,
			height : 230,
			style:{
				marginRight: 'auto',
		        marginLeft: 'auto'
			},
			modal : true,
			items : [ this.form ],
			listeners:{
				'render' : this.initData.createDelegate(this)
			}
		});
	},
	initData : function() {
		Ext.getCmp("PARENT_NAME").setValue(this.parentNode.text);
		Ext.getCmp("NAME").setValue(this.selectedTreeNode.attributes.text);
		Ext.getCmp("URL").setValue(this.selectedTreeNode.attributes.url);
		Ext.getCmp("U_ORDER_NUM").setValue(this.selectedTreeNode.attributes.px);
		Ext.getCmp("PARENT_ID").setValue(this.parentNode.id);
		var icon_num=this.selectedTreeNode.attributes.icon_num;
		if(''!=icon_num){
			Ext.getCmp("ICON_URL").setValue(icon_num);
			//this.uplodImg();
			Ext.getCmp('IMGBOX').autoEl.src=icon_num+".png";
		}
		var id = this.parentNode.id;
		if(id != -1){
			Ext.getCmp("ICON").hide();
		}
	},
	onUpdate:function(){
		//var id = Ext.getCmp("ID").getValue();
		var name = Ext.getCmp("NAME").getValue();
		var url = Ext.getCmp("URL").getValue();
		var params = Ext.getCmp("U_PARAMS").getValue();
		var parent_id =Ext.getCmp("PARENT_ID").getValue();
		var px =Ext.getCmp("U_ORDER_NUM").getValue();
		var icon = Ext.getCmp("ICON_URL").getValue();
		var re_no = new RegExp(/^\+?[1-9]\d*$/);
	    if (!re_no.test(px)) {
			Ext.Msg.alert('提示','排序值只能输入正整数');
			return;
		}
		Ext.getBody().mask("正在保存,请稍候...");
		this.form.getForm().submit({
			method:'post',
			url:ExtJ.getActionPath('/cud/updateMenu.do'),
			params:{
				id:this.selectedTreeNode.attributes.id,
				name:name,
				url:url,
				params:params,
				parent_id:parent_id,
				px:px,
				icon:icon
			},
			reset : false,
			success : function(option, action){
				var text = Ext.decode(action.response.responseText);
				if(text.isUpdate){
					Ext.Msg.alert('提示','修改成功!');
					this.close();
				}else{
					Ext.Msg.alert('提示',text.msg);
				}
				Ext.getBody().unmask(true);
				this.treepanel.reload();
			}.createDelegate(this)
		});
	},
	
	/*
	 * 下拉列表选择图片
	 * 点击选中的图片显示出来
	 * */
	uplodImg :function(combo,record,index){
		var url = record.data.countryFlag;
		console.info(url);
			var imageShow_box = Ext.getCmp('IMGBOX'); // 预览的图片框对象
					if (Ext.isIE) { // IE浏览器
						var imageShow_box_dom = imageShow_box.getEl().dom;
						imageShow_box_dom.src = Ext.BLANK_IMAGE_URL; // 覆盖原来的图片
						imageShow_box_dom.filters
								.item("DXImageTransform.Microsoft.AlphaImageLoader").src = url;
					} else {
						var imageShow_box_dom = imageShow_box.getEl().dom;
						imageShow_box_dom.src = url;
					}
	},
	
	onCancel : function(){
		this.close();
	}
});